ExtJS একটি অত্যন্ত শক্তিশালী ফ্রেমওয়ার্ক যা ডাইনামিক এবং রেসপন্সিভ ইউজার ইন্টারফেস তৈরি করার জন্য বিভিন্ন ধরনের লেআউট প্রদান করে। এগুলি বিশেষভাবে ব্যবহারকারীর ইন্টারফেসের উপাদানগুলোকে বিভিন্ন উপায়ে সাজানোর জন্য ব্যবহৃত হয়।
ExtJS-এ মূলত ৫টি প্রধান লেআউট রয়েছে, যার মধ্যে HBox, VBox, Border, এবং Fit অন্যতম। এই লেআউটগুলোকে সহজভাবে বুঝতে এবং ব্যবহার করতে সাহায্য করার জন্য নিচে প্রতিটির বিস্তারিত ব্যাখ্যা দেওয়া হলো।
HBox লেআউট (Horizontal Box Layout) উপাদানগুলোকে অনুভূমিকভাবে (হরাইজেন্টালি) সাজাতে ব্যবহৃত হয়। এই লেআউটটি সাধারণত টুলবার, নেভিগেশন বার বা অন্যান্য উপাদান যেখানে একটি লাইন বা এক্সটেন্ডেড অনুভূমিক সারি প্রয়োজন, সেখানে ব্যবহার করা হয়।
Ext.create('Ext.container.Container', {
renderTo: Ext.getBody(),
layout: 'hbox', // HBox layout ব্যবহার
items: [{
xtype: 'panel',
title: 'Panel 1',
html: 'This is panel 1',
width: 200
}, {
xtype: 'panel',
title: 'Panel 2',
html: 'This is panel 2',
width: 300
}]
});
এখানে, দুটি প্যানেল HBox
লেআউটে অনুভূমিকভাবে সাজানো হয়েছে।
flex
বা margin
ব্যবহার করা যায়।VBox লেআউট (Vertical Box Layout) উপাদানগুলোকে উল্লম্বভাবে (ভার্টিকালি) সাজাতে ব্যবহৃত হয়। এটি সাধারণত ফর্ম বা অন্যান্য উপাদান যেখানে একটি স্তম্ভে উপাদানগুলো সজ্জিত করা দরকার, সেখানে ব্যবহৃত হয়।
Ext.create('Ext.container.Container', {
renderTo: Ext.getBody(),
layout: 'vbox', // VBox layout ব্যবহার
items: [{
xtype: 'panel',
title: 'Panel 1',
html: 'This is panel 1',
height: 200
}, {
xtype: 'panel',
title: 'Panel 2',
html: 'This is panel 2',
height: 200
}]
});
এখানে, দুটি প্যানেল VBox
লেআউটে উল্লম্বভাবে সাজানো হয়েছে।
flex
এবং margin
ব্যবহার করা যায়।Border লেআউট একটি বহুল ব্যবহৃত লেআউট, যেখানে একটি কেন্দ্রীয় এলাকা এবং চারটি (উত্তর, দক্ষিণ, পূর্ব, পশ্চিম) পার্শ্ব এলাকা থাকে। এটি অ্যাপ্লিকেশনের একাধিক বিভাগের জন্য খুব উপকারী, যেখানে বিভিন্ন অঞ্চলে বিভিন্ন উপাদান বা ভিউ থাকতে পারে।
Ext.create('Ext.container.Viewport', {
layout: 'border', // Border layout ব্যবহার
items: [{
xtype: 'panel',
region: 'north', // উত্তর
title: 'North Panel',
height: 100
}, {
xtype: 'panel',
region: 'west', // পশ্চিম
title: 'West Panel',
width: 200
}, {
xtype: 'panel',
region: 'center', // কেন্দ্র
title: 'Center Panel',
html: 'This is center panel'
}]
});
এখানে, region
কনফিগারেশন ব্যবহার করে প্যানেলগুলোকে বিভিন্ন অঞ্চলে (উত্তর, দক্ষিণ, পশ্চিম, পূর্ব, কেন্দ্র) স্থাপন করা হয়েছে।
north
, south
, east
, west
, center
নামক অঞ্চলগুলোর মধ্যে উপাদানগুলো সাজানো হয়।center
অঞ্চলটি স্বয়ংক্রিয়ভাবে উপলব্ধ সমস্ত স্থান গ্রহণ করে।Fit লেআউট একটি খুব সহজ লেআউট, যা শুধুমাত্র একটি উপাদানকে পুরো কন্টেইনারের মধ্যে ফিট করতে ব্যবহৃত হয়। এটি সাধারণত এমন ক্ষেত্রে ব্যবহার করা হয় যেখানে কেবল একক উপাদান বা কম্পোনেন্ট প্রদর্শিত হবে এবং তা পুরো কন্টেইনারে প্রস্থ এবং উচ্চতায় ফিট হবে।
Ext.create('Ext.container.Container', {
renderTo: Ext.getBody(),
layout: 'fit', // Fit layout ব্যবহার
items: [{
xtype: 'panel',
title: 'Fit Panel',
html: 'This is the only panel inside the container'
}]
});
এখানে, একক প্যানেলটি কন্টেইনারের পুরো এলাকা দখল করে ফিট হচ্ছে।
এই লেআউটগুলো আপনাকে বিভিন্ন ধরনের অ্যাপ্লিকেশন তৈরি করার জন্য অনেক নমনীয়তা প্রদান করে, যা প্রয়োজনীয়তা অনুসারে ভিন্ন ভিন্ন ডিভাইসে উপযুক্তভাবে প্রদর্শিত হতে পারে।